package com.lau.task;

import com.lau.service.TSysUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Component
public class ScheduledTask {


    @Autowired
    TSysUserService service;
    /**
     * initialDelay：启动后多久开始执行，单位时毫秒
     * fixedRate：下次执行时间，任务开始运行的时候就计时。
     * fixedDelay：下次执行时间，fixedDelay等任务进行完了才开始计时
     */
    //@Scheduled(cron = "0/30 * * * * ? ")
    public void scheduledTask1(){
        for (int i = 0; i < 10; i++) {
            try {
                service.testAsync(i);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }

    }

    //@Scheduled(initialDelay =  1000 * 10,fixedDelay = 1000 * 5)
    public void scheduledTask2(){
        System.out.println("任务2执行时间："+System.currentTimeMillis());
        System.out.println("定时任务2");
        try {
            Thread.sleep(2*1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("任务2结束时间："+System.currentTimeMillis());
    }

    //@Scheduled(initialDelay =  1000 * 10,fixedRate = 1000 * 5)
    public void scheduledTask3(){
        System.out.println("任务3执行时间："+System.currentTimeMillis());
        System.out.println("定时任务3");
        try {
            Thread.sleep(2*1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("任务3结束时间："+System.currentTimeMillis());
    }
}

